package cn.iocoder.yudao.module.member.controller.admin.memberconf.vo;

import cn.iocoder.yudao.module.member.controller.admin.confmaterial.vo.MemberConfMaterialSaveReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
@Schema(description = "管理后台 - 会员主配置新增/修改 Request VO")
@Data
public class MemberConfSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6260")
    private Long id;

    @Schema(description = "会员id", example = "2181")
    private Long userId;

    @Schema(description = "是否开通实物料业务（√/×）")
    private Boolean physicalMetal;

    @Schema(description = "是否开通锁价买料业务（√/×）")
    private Boolean priceLockBuy;

    @Schema(description = "是否开通锁价卖料业务（√/×）")
    private Boolean priceLockSell;

    @Schema(description = "是否开通提料结价业务（√/×）")
    private Boolean takeMaterial;

    @Schema(description = "是否开通存料结价业务（√/×）")
    private Boolean storeMaterial;

    @Schema(description = "是否开启自动派单（√/×）")
    private Boolean autoDispatchOrder;

    @Schema(description = "是否需要实名认证（√/×）")
    private Boolean authIdentity;

    @Schema(description = "是否允许定金转积分（√/×）")
    private Boolean depositToPoints;

    @Schema(description = "是否允许积分转定金（√/×）")
    private Boolean pointsToDeposit;

    @Schema(description = "是否允许拆分定金（√/×）")
    private Boolean splitDeposit;

    @Schema(description = "是否允许不补定金拆定金（√/×）")
    private Boolean splitDepositWithoutReplenish;

    @Schema(description = "是否显示风控分析报表（√/×）")
    private Boolean showRiskReport;

    @Schema(description = "自动补定金提醒方式（短信/邮件等）")
    private Integer autoReminder;

    @Schema(description = "借款额度（单位：元）")
    private BigDecimal loanLimit;

    @Schema(description = "结算方式（单笔结算/批量结算）")
    private Integer settlementMethod;

    @Schema(description = "自动结算比例（0-100%）")
    private BigDecimal autoSettlementRatio;

    @Schema(description = "自动补定金比例（0-100%）")
    private BigDecimal autoDepositRatio;

    @Schema(description = "是否自动补定金（√/×）")
    private Boolean autoDeposit;

    @Schema(description = "物料策略配置列表")
    private List<MemberConfMaterialSaveReqVO> confMaterials;

}